import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IMarryPrx } from "./IMarryPrx";
import { AMI_IMarry_apply } from "./AMI_IMarry_apply";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IMarry_applyDivorce } from "./AMI_IMarry_applyDivorce";
import { AMI_IMarry_applyInviteCard } from "./AMI_IMarry_applyInviteCard";
import { AMI_IMarry_bookWedding } from "./AMI_IMarry_bookWedding";
import { AMI_IMarry_getBlessHistory } from "./AMI_IMarry_getBlessHistory";
import { AMI_IMarry_getBookHours } from "./AMI_IMarry_getBookHours";
import { AMI_IMarry_getCardApplicators } from "./AMI_IMarry_getCardApplicators";
import { AMI_IMarry_getInvitedGuest } from "./AMI_IMarry_getInvitedGuest";
import { AMI_IMarry_getMarryHistory } from "./AMI_IMarry_getMarryHistory";
import { AMI_IMarry_inviteGuest } from "./AMI_IMarry_inviteGuest";
import { SeqStringHelper } from "../Public/SeqStringHelper";
import { AMI_IMarry_reply } from "./AMI_IMarry_reply";
import { AMI_IMarry_replyCardApplicators } from "./AMI_IMarry_replyCardApplicators";
import { AMI_IMarry_replyDivorce } from "./AMI_IMarry_replyDivorce";
import { AMI_IMarry_sendMoney } from "./AMI_IMarry_sendMoney";
import { AMI_IMarry_startWeddingCar } from "./AMI_IMarry_startWeddingCar";
import { AMI_IMarry_useInviteCard } from "./AMI_IMarry_useInviteCard";
type int = number;
//class IMarryPrxHelper
    
    export  class IMarryPrxHelper extends RMIProxyObject implements IMarryPrx
    {
        constructor()
        {
            
            super();name = "IMarry";
            return;
        }

        public apply_async(arg1: AMI_IMarry_apply, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("apply");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public applyDivorce_async(arg1: AMI_IMarry_applyDivorce, arg2: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("applyDivorce");
            var loc3;
            (loc3 = new SerializeStream()).writeBool(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public applyInviteCard_async(arg1: AMI_IMarry_applyInviteCard, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("applyInviteCard");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public bookWedding_async(arg1: AMI_IMarry_bookWedding, arg2: int, arg3: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("bookWedding");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getBlessHistory_async(arg1: AMI_IMarry_getBlessHistory, arg2: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getBlessHistory");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getBookHours_async(arg1: AMI_IMarry_getBookHours): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getBookHours");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getCardApplicators_async(arg1: AMI_IMarry_getCardApplicators): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getCardApplicators");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getInvitedGuest_async(arg1: AMI_IMarry_getInvitedGuest): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getInvitedGuest");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public getMarryHistory_async(arg1: AMI_IMarry_getMarryHistory, arg2: int, arg3: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("getMarryHistory");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public inviteGuest_async(arg1: AMI_IMarry_inviteGuest, arg2: Array<any>): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("inviteGuest");
            var loc3=new SerializeStream();
            SeqStringHelper.write(loc3, arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public reply_async(arg1: AMI_IMarry_reply, arg2: int, arg3: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("reply");
            var loc3;
            (loc3 = new SerializeStream()).writeInt(arg2);
            loc3.writeInt(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public replyCardApplicators_async(arg1: AMI_IMarry_replyCardApplicators, arg2: string, arg3: Boolean, arg4: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("replyCardApplicators");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            loc3.writeBool(arg3);
            loc3.writeBool(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public replyDivorce_async(arg1: AMI_IMarry_replyDivorce, arg2: Boolean): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("replyDivorce");
            var loc3;
            (loc3 = new SerializeStream()).writeBool(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public sendMoney_async(arg1: AMI_IMarry_sendMoney, arg2: string, arg3: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("sendMoney");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            loc3.writeInt(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public startWeddingCar_async(arg1: AMI_IMarry_startWeddingCar): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("startWeddingCar");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public useInviteCard_async(arg1: AMI_IMarry_useInviteCard, arg2: string, arg3: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("useInviteCard");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            loc3.writeInt(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.IMarry";
    }
